Vim 快捷操作笔记
字数
695 字
阅读时间
3 分钟
更新日期
11/2/2019
看到公司大佬用vim写代码真的很爽,所以我也开始用vim了。
这个笔记是看慕课网教程 https://www.imooc.com/learn/1129 的笔记。
基础设置
- :vs (vertical split)水平分屏
- :sp
- control + w(window)
- +w 在窗口间循环切换
- +h
- +j
- +k
- +l
- :e 打开新文件
- 设置行号
- :set nu
- 全局替换
- :% s/java/python/g
- 设置语法高亮
- :syntax on
- 自动补全锁进
- :set autoindex
移动
w/W 移动下个单词头
e/E 移动下个单词尾
0 移动到第一个字符
- 有空行可以用w跳一下
$ 移动到最后一个字符
H(head)/M(middle)/L(lower) 屏幕开头 中间 结尾
control + o 快速返回
control + u,control + f (upword/forword)上下翻页
- zz把屏幕放到中间
快速增删改查
- dw,daw(delete around word 删除包含空格),diw(删除不包含空格) 删除单词
- dt+{char} 删除直到{char}之前的内容
- 数字+命令 多次重复
- r (replace) R继续往下替换
- c(change) caw 匹配字符删除并进入插入模式
- s(substitute) 删除并进入插入模式
- 查询
- / ? 前向搜索或反向搜索
- n/N 跳转下个或上个
- I 头插入
- A 尾插入
插入模式下快捷命令
- control + h 删除上个字符
- control + w 删除上个单词
- control + u 删除整行
- gi 回到上次编辑的插入模式
行间移动
- f+{char} 移动到char字符
- t(until)+{char} 移动到char前一个字符
- ; 搜下下个
- , 搜索上个
- 跳转到某行
- ngg或nG ,其中n代表数字
- 例如跳到25行
- 25gg 25G
- 命令模式下输入行号
- : n
- ngg或nG ,其中n代表数字
vim 替换命令
- :[range]s/{pattern}/{string}/[flag]
- :% s/self/this/g
- % 代表全部,替换self为this
- :1,6 s/self/this/g
- 1-6行范围文本替换
- :1,6 s/self//n
- 报告1~6行匹配数量
vim 复制粘贴
- 代码行数错位, :set paste
- 之后 :set nopaste 否则o插入时不会自动缩进
visutal model
选中{}中间的内容,不包括{}
va{ 选中{}中间内容,包括{}
选中()中间内容
vi< 选中<>中间内容
vi[ 选中[]中间内容
vit 选中中间的内容
vi” 选中”"中间内容
vi’ 选中”中间的内容、
vis 选中一个句子
vib 选中一个block
viw 选中一个单词
vip 选中一个段落
宏
- vim中使用q来录制,q结束录制
- q{register a-z}选择要保存到的寄存器
- @{register a-z}回放寄存器
- 选中多行后 :normal @a